package edu.upc.galaxy.dao;

import edu.upc.galaxy.entity.PersonaENTITY;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Alvaro
 */
public class PersonaDAO extends BaseDAO {
    
 /*       private Integer id;
    private String nombre;
    private Boolean sexo; // 0 - Masculino, 1 - Femenina
    private Boolean dueno; // 1 - Dueno, 0 - Cliente
    private String documento;
    private String correo;
    private Date fechaNacimiento;
    private String celular;
    
   */ 
    
    public Integer insertar(PersonaENTITY persona) {
        String insert = "insert into persona(nombre,correo) values (?,?)";
        List list = new ArrayList();
        list.add(persona.getNombre());
        list.add(persona.getCorreo());
        return this.insert(insert, list);
    }
    
    public void actualizar(PersonaENTITY persona) {
        String update = "update personas set nombre = ?, correo = ? where id = ?";
        List list = new ArrayList();
        list.add(persona.getNombre());
        list.add(persona.getCorreo());
        list.add(persona.getCodpersona());
        this.update(update, list);
    }
    
    public void eliminar(PersonaENTITY persona) {
        String delete = "delete from personas where id = ?";
        this.delete(delete,persona.getCodpersona());
    }
    
    public List<PersonaENTITY> buscar() {
        ResultSet rs = this.select("select * from personas");
        List<PersonaENTITY> listado = new ArrayList<PersonaENTITY>();
        try {
            while (rs.next()) {
                PersonaENTITY persona = new PersonaENTITY();
                persona.setCodpersona(rs.getInt(1));
                persona.setNombre(rs.getString(2));
                persona.setCorreo(rs.getString(3));
                listado.add(persona);
            }
        } catch (SQLException ex) {
            Logger.getLogger(PersonaDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        return listado;
    }  
}
